The present invention generally relates to a reasoning or an inference technique. More particularly, the present invention is related to a method and a system for performing fault diagnosis to identify trouble or a fault in a machine and/or software operated for controlling the machine. In this context, the machine or software to be diagnosed may also be termed an objective, in a more general sense.
In recent years, expert systems have been developed to a state capable of being put to practical use and have found extensive applications. The expert system is a program which is designed to run on a computer system for making use of the expertise acquired from an expert and placed in a knowledge base. In the case of the application program known heretofore, knowledge for solving a problem is incorporated as an integral part of the program. In contrast, in the expert system, a model for solving a problem is provided in the form of a knowledge base.
Many of the expert systems are implemented as production systems for describing expert's problem solving models by rules each composed of a conditional part and an execution part. However, the prior art production system suffers a shortcoming in that difficulty is encountered in describing the problem solving model for solving a complicated problem such as a fault diagnosis or trouble shooting in a large scale computer system and the like.
As an approach for avoiding such difficulty, a method of dividing a problem solving model into several levels has been proposed. By way of example, M. R. Gensereth teaches in the article entitled "An Overview of Meta-Level Architecture", AAAI Preliminary Proceedings, pp. 119-124 (1983), a method of dividing a problem solving model into two levels, i.e. a base level and a meta level. In the base level, a series of processings are executed for reaching a goal, while the meta level is a hierarchically higher level serving for determining which of the processings belonging to the base level to execute. In the expert system based on the production system, meta level rules are introduced for performing the processings of the meta level, wherein a plurality of rules are grouped to one rule set and the reasoning is controlled by the meta-level rules such that it is performed by using an appropriate one of the rule sets. The processings at the base level correspond to executions of the individual rules of the rule set, respectively.
In the prior art problem solving method mentioned above, the concept of dividing the problem solving model into levels has certainly been adopted. It is however insufficient to divide the problem solving model into only two levels of the base level and the meta level. This is because the model for the problem solving differs from one to another domain to which the expert system is applied and there exists such application where the model is composed of more than two levels.
Consider, for example, a trouble shooting or fault diagnosis processing. In this case, three levels mentioned below may well be taken into account.
(1) Execution of the fault diagnosis on the basis of the principle underlying the operation or function of a machine or objective of concern.
(2) Execution of the diagnosis on the basis of experience or heuristic knowledge of an expert while considering features which the objective exhibits.
(3) Execution of diagnosis by modifying the diagnosing process in consideration of the situations or states encountered in the course of the diagnosis.
At this juncture, let's assume that the knowledges involved in the fault diagnoses (1) and (2) are to be handled as the knowledges both belonging to one and the same base level. Then, there will coexist at the same level the typical or standardized diagnosis procedures and the heuristic knowledges, which of course gives rise to a problem that the knowledge base becomes difficult in preparation and maintenance thereof. Further, although introduction of a hierarchically high level can certainly facilitate the reasoning control, there arises a problem that overhead involved in the reasonging control is increased, as the knowledge of the high level increases.